Saturday, March 01, 2008

VFP 9 RTM/SP1/SP2 - One Machine

I have talked to a lot of Visual FoxPro developers since VFP 9 SP2 was released in October 2007. I have read many of the posts on the forums. In my unscientific poll I can safely say that less than 20 percent of the developers have even loaded SP2 and there are a number of reasons for this:
  1. Developers are comfortable with the stability of SP1 and don't need any of the fixed bugs deployed in SP2.
  2. Some developers do not have the resources to system test all of their applications and cannot adopt the new service pack until the resources can be allocated to their projects.
  3. The first release of VFP 9 SP2 eroded the confidence of VFP developers because of the missing fixes, and the "beta" splash screen.
  4. The reputation of SP2 is further eroded because of the number of serious regression bugs discovered since the release of "SP2a" (however, most developers are going on the experiences of a few who have blazed the SP2 trail, and have not loaded it themselves).
  5. Developers do not understand you can have VFP 9 no service pack, VFP 9 SP1 and VFP 9 SP2 loaded on the same development machine.
  6. Anger at Microsoft over the decision the product is feature complete, and the sloppiness of the release cycle for VFP 9 SP2.
  7. Something else?
I believe the biggest reasons are the confidence eroding regression bugs posted by the trail blazers, and the fact many developers have not considered the possibility you can host more than one version of VFP 9 on the same machine.

There is a big problem with this situation, and one really concerning me. The problem is that too few people have installed, tried, and tested the release of VFP 9 SP2. This means the brave few who have installed it possibly have revealed only a subset of the problems with SP2. I am confident that the most serious and obvious problems have been revealed. But more developers running their code through the release will better establish the complete list of issues we might have to work around for years to come.

You can see the current list on the Visual FoxPro Wiki's VFP9Sp2BugList page. You can also see some of the workarounds for the bugs on the SolutionsToVFP9SP2Bugs page. I would like these two pages and other pages added if necessary to this important knowledgebase so the Fox Community has a centralized list of the best practices in dealing with VFP 9 SP2 issues. These pages are referenced over and over as developers come online with VFP 9 SP2 and hit the same problems others have already solved. It also allows developers supporting each other a place to refer developers who are new to SP2 where to go to get key information.

As to the new regression bugs without workarounds, the sooner we can identify these the better. The identification of the problems has a potential four-fold advantage:
  1. Developers who are making the business decision to adopt or not adopt VFP 9 SP2 will have the best information when testing and certifying their decision.
  2. A centralized set of best practice workarounds for core VFP9.EXE problems is continually refined. Bugs in the VFP XSource components can be identified and a plan to make corrections by the Fox Community can be put into motion through VFPX.
  3. If more developers adopt SP2 the Fox Community as a whole have an easier time supporting each other on the online forums.
  4. A business case to have Microsoft consider fixing some of the serious regression bugs without reasonable workarounds can be developed and presented to Microsoft. The sooner we can do this, the better the chance it will be considered. And please, never say never.
I know by myself I cannot turn the tide with respect to the eroded confidence, but if more developers give SP2 a try we can take advantage of the benefits I have outlined in this blog post. Those developers with a positive SP2 experience need to post their successes too. Too often humans focus on problems than the positive experiences, and the positives get overshadowed.

I definitely want to see the best practices flushed out and fixes applied to the XSource code. Several have already been identified to ease the adoption. If we can identify the VFP 9 core EXE show-stopper bugs to Microsoft and get those fixed, big bonus!

To help those who have not loaded VFP 9 SP2 on their development machine I have written a short white paper detailing the steps I have taken to load VFP 9 original (a.k.a. RTM - released to manufacturing), Service Pack 1 (SP1), and Service Pack 2 (SP2) on my primary development machine. This white paper is available for you to review and help guide you to install more than one of the VFP 9 versions. This process has been refined over the years and others have stepped through it, so it is tested by more than one developer.

If you are interested, you can find the white paper here:
  1. PDF file (584K)
  2. ZIP file with Word document (747K)
I am open to any feedback about the white paper and the process for the installs. I have identified the feedback mechanism in the white paper. I am sure people will see different things they want to do to make it work better. As I have noted, this process works for me and is being provided as a guide to get you through the challenge and give you some food for thought on the process.

If you are one of the those important language translators in the community (and you know who you are) and you want to translate this document to your native language, please do and let me know so I can also host it on my Web site too. I have granted general permission to everyone who has ever requested permission to translate blog posts over the years. This information should not have artificial barriers because people cannot read my writing (and no comments from the peanut gallery on my English {g}).

Special thanks to Pamela Thalacker, Mary Pilon, Tamar Granor, and Cathy Pountney who kindly responded to my request to review this document. They helped me think thorough many of the steps and offered gentle advice on improving it. This document is better because of their help, but any bugs or confusing details you may find in it are all mine.

Call To Action!

It is my hope you will install VFP 9 SP2, and will post your VFP 9 SP2 issues on the Visual FoxPro Wiki so we can identify the best practices and workarounds discussed. I also hope you will post some discussions on the various community forums. I cannot promise to engage in all the discussions because I am only one person and having an expanding customer base to serve in my day job, but this is what the FoxPro Community is all about, masses of people helping each other out.

Enjoy!

Labels: , , , , , , ,

Sunday, January 06, 2008

Business of Software

The Business of Software Conference was held October 29th and 30th, 2007. It was a conference I really was interested in attending, but because it fell right between Southwest Fox and German DevCon I could not squeeze it in. The speaker list has some of my favorite bloggers.

The cool thing is there is the Business of Software Blog. This blog has interesting posts and some of the posts have videos from the conference. I just finished listening to Eric Sink from SourceGear talk about Marketing for Geeks. Great talk, even if he did disrespect Detroit {g}. It was something I could listen to while working on some code. This would make a great session for the business track at Southwest Fox.

They are planning a conference this year. I am hoping they move it to a different date so I have a better chance of going.

Labels: , ,

Thursday, January 03, 2008

Michigan Wonders Why Companies Leave

This is slightly off topic, so if you don't want to read a rant about Michigan and the idiots who run this state: move along to the next blog. If you want to understand how hard it is to run a software development business or get a better understanding of what your employer faces from time-to-time, read on.

Running a high tech business in the state of Michigan is hard enough without being impacted by people in government who most likely never ran a business. Companies are closing up all over Michigan and a lot of the reason is Michigan is suffering through a one state recession. While the leadership in Lansing cannot be blamed for the decisions of companies like GM, Ford, and Chrysler for laying off more than 100,000 people, I do blame them for the decisions made that are further hurting the state economy. Here is a fine example.

White Light Computing has been in business for nearly four years. During this time the company has paid unemployment insurance at various rates based on the length of time the company has been in business. The first two years the rate was 2.7% for the first US$11,200 of salary, and last year it dropped to 1% based on the fact my company has not pushed a single person on the unemployment line. As a reward for this, as White Light enters its fifth year (according to the state 2008 is year five) the company gets a 50% increase on unemployment insurance. This means an extra US$56 per person on the payroll. While the impact is minor to White Light Computing, imagine being a restaurant owner with lots of lower wage employees and getting a 50% increase just for surviving the first four years in the nations worst economy. How about automotive supplier who already has the slimmest of profit margins to work with and a huge staff on the assembly line?

The people who run this state are complete morons. I called the agency in charge of increasing my rate and their only defense was "it is only a half percent increase, not a 50% increase." And people say they will never use the math they learned in school. Sheesh.

Labels: , , , , , ,

Wednesday, June 06, 2007

Workers Compensation Insurance

I recently had a frustrating conversation with my Workers Compensation insurance vendor. I don't really need WC insurance for myself, but I do for my son's wages, and on occasion my customers will ask if I have it. A few clients have requested I provide a certificate of insurance for a project. Last week I learned why this is so important.

It all centers around the definition of the word employee. I am an employee of White Light Computing, in addition to my ownership in the company. As the company president I get paid a modest salary. For each US$1000 of salary I get paid, the company pays US$0.80 in premium for the insurance in case I get hurt on the job and cannot perform my duties as a software developer. Just in case you are wondering, roofers are one of the most expensive jobs to insure: approximately US13.00+ per US$1000 salary. So we have it cheap.

The annual audit arrives and the paperwork I fill out asks me the usual questions about the business, how many employees, and how much I pay them. This year I also had to provide details about subcontractors and how much I paid them. Previous years asked if I had subcontractors, but never the amount of money involved.

This triggered a long discussion with the auditing department. They asked me to get certificates of insurance from each of the subcontractors. Several of them are just moonlighting at night and won't have the coverage, but I do business with a couple of companies. So I spent an enormous amount of time documenting my subcontractors, the work they did, the time periods when they worked, and tracked down as many of the certificates as I could. I hate wasting time on this administrivia. Frankly it would have been better financially to pay the extra premium and spent all this time billing on projects that are way more fun to work on, but the principle of the matter is this: I dislike insurance companies and certainly don't want them double-dipping on me and the companies I have hired.

The reason I had to do all this work is to not get charged the extra premium because the insurance company was going to consider each subcontractor as an employee. They did not care if my contract states they are not employees of my company and responsible for their own taxes, insurance, etc. They did not care that I do not have them on my payroll and that my payroll service has never paid them a dime. They only care that they *can* charge me a premium and it is my responsibility to prove otherwise. Guilty until proven innocent. Their definition of employee is anyone I pay and cannot prove they have their own Workers Compensation policy.

I asked them a simple question: if one of my subcontractors was hurt while working on their site (not mine), would I be able to make a claim? The answer really was not unexpected, but really seems unbalanced. "Sir, it does not matter where they were hurt, they are subcontractors, not employees, and thus we would fight to the death to not pay the claim." I thanked them for the clarification and double-talk. They were also kind enough to inform me that I would find all their competitors do the exact same thing. Having written software for the WC industry I know how bad employers get the short end of the stick.

Let's review the rules of the insurance game: business owners always lose and there is absolutely no way to play the game where you can win, or have it even fair. Thanks for the clarification, not!

So for all the employees out there who read my humble writings - be thankful for your job and all the little things your employer does on your behalf that lowers the profitability of the company you work for, and ultimately lowers the wages you can get paid. For all the business owners and independent folk: I know, nothing new here. Just me having another stressful business moment.

Labels: ,